#ifndef EVENT_QUEUE_H
#define EVENT_QUEUE_H

#include <stdint.h>
#include <stdbool.h>

// 修改为合适的队列长度
#define EVENT_QUEUE_SIZE 16

// 定义事件类型（可扩展）
typedef enum
{
    EVENT_NONE = 0,
    EVENT_DATA_READY,
    EVENT_OTHER
    // 其他事件
} EventType;

// 事件结构体（如需传递数据可以拓展）
typedef struct
{
    EventType type;
    // uint8_t data[4]; // 如需附带数据，取消注释
} Event;

void event_queue_init(void);
bool event_queue_push_isr(EventType type);
bool event_queue_pop(Event *evt);
bool event_queue_is_empty(void);

#endif // EVENT_QUEUE_H
